package bintree.map_set.LeetCode;
import java.util.HashMap;
import java.util.Map;
//136. 只出现一次的数字
//给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
public class Num136_singleNumber {

    public int singleNumber(int[] nums) {
        //1. 先扫描原数组，将每个元素以及出现频次保存到Mao中
        Map<Integer, Integer> map = new HashMap<>();
        for(int i : nums){
            map.put(i, map.getOrDefault(i, 0) + 1);
        }
        //遍历这个map，找出频次为 1的元素
        for(Map.Entry<Integer,Integer> entry : map.entrySet()){
            //注释，比较大小最好还是用 equals方法
            if(entry.getValue().equals(1)){
                return entry.getKey();
            }
        }
        return 0;
    }

}
